/*******************************************************************************
 * Classe ReglesDuJeu : création de panneau des regles du jeu
 ******************************************************************************/

package tp2;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
 *
 * @author W&G
 */
public class ReglesDuJeu extends JPanel{

    private Fenetre fenetre;//La fenetre du programme
    private JPanel pnlConteneur = new JPanel();//Panneau conteneur
    //Panneau principal
    private JPanel pnlPrincipal = new JPanel(new BorderLayout(3,1));
    private JLabel txtTitre = new JLabel("Règles du jeu");//Titre
    //Regles du jeu
    private JTextArea txtRegles = new JTextArea("\n\n- Description :\nRedd le rond cool" +
            " et culturé est un jeu ou deux pions s'affrontent à la base afin " +
            "de dominer le plateau \nde jeu.\n\n- Regles :\nTour a tour, chaque" +
            " joueur effectue un deplacement de pion soit d'une ou de deux" +
            " cases. Dans le \npremier cas, le pion se dédouble et occupe les" +
            " deux cases concernées, dans le deuxieme, le pion \nse deplace " +
            "simplement. Lorsque le pion déplacé arrive sur une case " +
            "adjacente à une autre couleur,\ntous les pions de la couleur " +
            "ennemie prennent la couleur du pion déplacé\n\n- Particularités :" +
            "\n+ SuperRedd : Une fois dans la partie, pour chacun des joueurs," +
            " il est possible de placer sur le jeu \nun pion SuperRedd" +
            " qui apartiendra toujours au même joueur. Toutes les cases qui" +
            " ont étés changés\npar SuperRedd le tour qu’il a été placé ne" +
            " pourront plus être changés de couleur durant la partie" +
            " en cours. \nIl peut être utilisé les tours suivants comme s’il" +
            " était un pion normal.\n\n- Fin de la partie :\nSoit lorsqu’il" +
            " n’y a plus qu’une seule couleur de pion sur le jeu, Soit lorsqu’il" +
            " ne reste plus d’espace libre\nsur le plateau de jeu. Alors, le" +
            " gagnant est le joueur ayant le plus de pion sur le jeu.",25 ,5);
    private JButton btnRetour = new JButton("Retour");//bouton retour
    private JPanel pnlRetour = new JPanel();//Panneau contenant le bouton retour
    private boolean retour = false;//Variable de retour


    public ReglesDuJeu(Fenetre fenetre)
    {
        this.fenetre = fenetre;

        txtRegles.setEditable(false);
        txtTitre.setHorizontalAlignment(SwingConstants.CENTER);

        pnlPrincipal.add(txtTitre, BorderLayout.NORTH);
        pnlPrincipal.add(txtRegles, BorderLayout.CENTER);
        pnlRetour.add(btnRetour);
        pnlPrincipal.add(pnlRetour, BorderLayout.SOUTH);
        pnlConteneur.add(pnlPrincipal);

        pnlPrincipal.setBackground(fenetre.getFond());
        pnlRetour.setBackground(fenetre.getFond());
        pnlConteneur.setBackground(fenetre.getFond());
        txtRegles.setBackground(fenetre.getFond());
        txtRegles.setForeground(Color.CYAN);
        txtRegles.setFont(new Font(txtRegles.getFont().getFontName(),
                Font.BOLD, 12));
        txtTitre.setForeground(Color.CYAN);
        txtTitre.setFont(new Font(txtTitre.getFont().getFontName(),
                Font.BOLD, 16));
        btnRetour.addActionListener(new BoutonPresse());

        this.add(pnlConteneur);
    }
    //Definit la variable de retour
    public void setRetour(boolean retour) {
        this.retour = retour;
    }
//Classe de gestion des evenements
     class BoutonPresse implements ActionListener
    {
        public void actionPerformed(ActionEvent ae)
        {
            if(ae.getSource() == btnRetour)
            {
                if (retour) {
                    fenetre.afficherJeu();
                } else {
                    fenetre.afficherMenuPrincipal();
                }
            }
        }
    }

}